eb3e60f09616ca211a09cd5cceb993ffd7bc81d1,advanced/src/main/java/org/neo4j/remote/ProtocolService.java,ProtocolService,ProtocolService,#,133

Before Change


        // First, try Java 6 API, since it is standardized.
        try
        {
            Class<?> serviceLoaderClass = Class
                .forName( "java.util.ServiceLoader" );
            Method loadMethod = serviceLoaderClass.getMethod( "load",
                Class.class );
            @SuppressWarnings( "unchecked" )
            final Iterable<Transport> iter = ( ( Iterable<Transport> ) loadMethod
                .invoke( null, Transport.class ) );
            result = new CheckingIterable()
            {
                @Override
                Iterator<?> provideIterator()
                {
                    return iter.iterator();
                }
            };
        }
        catch ( Exception ex )
        {
            Iterable<Transport> empty = Arrays
                .asList( new Transport[ 0 ] );
            // If that fails, try the SUN specific Java 5 implementation.
            try
            {
                Class<?> serviceClass = Class.forName( "sun.misc.Service" );
                final Method providersMethod = serviceClass.getMethod(
                    "providers", Class.class );
                result = new CheckingIterable()
                {
                    @Override
                    Iterator<?> provideIterator() throws Exception
                    {

After Change



    ProtocolService()
    {
        factories = Service.load( Transport.class );
    }

    private synchronized Transport getSiteFactory( URI resourceUri )